package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.UserTask;

import java.util.*;
public class UserTaskExample extends SgExample<UserTaskExample.Criteria> {
    public static final Class<UserTask> beanClass = UserTask.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn resultJson;
    public static EntityColumn award;
    public static EntityColumn submitTime;
    public static EntityColumn catchTime;
    public static EntityColumn catchId;
    public static EntityColumn mallUserId;
    public static EntityColumn taskId;
    public static EntityColumn status;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        resultJson = listMap.get("resultJson");
        award = listMap.get("award");
        submitTime = listMap.get("submitTime");
        catchTime = listMap.get("catchTime");
        catchId = listMap.get("catchId");
        mallUserId = listMap.get("mallUserId");
        taskId = listMap.get("taskId");
        status = listMap.get("status");
        }

    public UserTaskExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected UserTaskExample.Criteria createCriteriaInternal() {
        return new UserTaskExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public UserTaskExample.Criteria andResultJsonIsNull() {
            return isNull(resultJson);
        }

        public UserTaskExample.Criteria andResultJsonIsNotNull() {
            return isNotNull(resultJson);
        }

        public UserTaskExample.Criteria andResultJsonEqualTo(String value) {
            return equalTo(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonNotEqualTo(String value) {
            return notEqualTo(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonGreaterThan(String value) {
            return greaterThan(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonLessThan(String value) {
            return lessThan(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonLike(String value) {
            return like(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonNotLike(String value) {
            return notLike(resultJson, value);
        }

        public UserTaskExample.Criteria andResultJsonIn(List<String> values) {
            return in(resultJson, values);
        }

        public UserTaskExample.Criteria andResultJsonNotIn(List<String> values) {
            return notIn(resultJson, values);
        }

        public UserTaskExample.Criteria andResultJsonBetween(String value1, String value2) {
            return between(resultJson, value1, value2);
        }

        public UserTaskExample.Criteria andResultJsonNotBetween(String value1, String value2) {
            return notBetween(resultJson, value1, value2);
        }
        public UserTaskExample.Criteria andAwardIsNull() {
            return isNull(award);
        }

        public UserTaskExample.Criteria andAwardIsNotNull() {
            return isNotNull(award);
        }

        public UserTaskExample.Criteria andAwardEqualTo(Integer value) {
            return equalTo(award, value);
        }

        public UserTaskExample.Criteria andAwardNotEqualTo(Integer value) {
            return notEqualTo(award, value);
        }

        public UserTaskExample.Criteria andAwardGreaterThan(Integer value) {
            return greaterThan(award, value);
        }

        public UserTaskExample.Criteria andAwardGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(award, value);
        }

        public UserTaskExample.Criteria andAwardLessThan(Integer value) {
            return lessThan(award, value);
        }

        public UserTaskExample.Criteria andAwardLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(award, value);
        }

        public UserTaskExample.Criteria andAwardIn(List<Integer> values) {
            return in(award, values);
        }

        public UserTaskExample.Criteria andAwardNotIn(List<Integer> values) {
            return notIn(award, values);
        }

        public UserTaskExample.Criteria andAwardBetween(Integer value1, Integer value2) {
            return between(award, value1, value2);
        }

        public UserTaskExample.Criteria andAwardNotBetween(Integer value1, Integer value2) {
            return notBetween(award, value1, value2);
        }
        public UserTaskExample.Criteria andSubmitTimeIsNull() {
            return isNull(submitTime);
        }

        public UserTaskExample.Criteria andSubmitTimeIsNotNull() {
            return isNotNull(submitTime);
        }

        public UserTaskExample.Criteria andSubmitTimeEqualTo(Date value) {
            return equalTo(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeNotEqualTo(Date value) {
            return notEqualTo(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeGreaterThan(Date value) {
            return greaterThan(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeLessThan(Date value) {
            return lessThan(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(submitTime, value);
        }

        public UserTaskExample.Criteria andSubmitTimeIn(List<Date> values) {
            return in(submitTime, values);
        }

        public UserTaskExample.Criteria andSubmitTimeNotIn(List<Date> values) {
            return notIn(submitTime, values);
        }

        public UserTaskExample.Criteria andSubmitTimeBetween(Date value1, Date value2) {
            return between(submitTime, value1, value2);
        }

        public UserTaskExample.Criteria andSubmitTimeNotBetween(Date value1, Date value2) {
            return notBetween(submitTime, value1, value2);
        }
        public UserTaskExample.Criteria andCatchTimeIsNull() {
            return isNull(catchTime);
        }

        public UserTaskExample.Criteria andCatchTimeIsNotNull() {
            return isNotNull(catchTime);
        }

        public UserTaskExample.Criteria andCatchTimeEqualTo(Date value) {
            return equalTo(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeNotEqualTo(Date value) {
            return notEqualTo(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeGreaterThan(Date value) {
            return greaterThan(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeLessThan(Date value) {
            return lessThan(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(catchTime, value);
        }

        public UserTaskExample.Criteria andCatchTimeIn(List<Date> values) {
            return in(catchTime, values);
        }

        public UserTaskExample.Criteria andCatchTimeNotIn(List<Date> values) {
            return notIn(catchTime, values);
        }

        public UserTaskExample.Criteria andCatchTimeBetween(Date value1, Date value2) {
            return between(catchTime, value1, value2);
        }

        public UserTaskExample.Criteria andCatchTimeNotBetween(Date value1, Date value2) {
            return notBetween(catchTime, value1, value2);
        }
        public UserTaskExample.Criteria andCatchIdIsNull() {
            return isNull(catchId);
        }

        public UserTaskExample.Criteria andCatchIdIsNotNull() {
            return isNotNull(catchId);
        }

        public UserTaskExample.Criteria andCatchIdEqualTo(Long value) {
            return equalTo(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdNotEqualTo(Long value) {
            return notEqualTo(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdGreaterThan(Long value) {
            return greaterThan(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdLessThan(Long value) {
            return lessThan(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(catchId, value);
        }

        public UserTaskExample.Criteria andCatchIdIn(List<Long> values) {
            return in(catchId, values);
        }

        public UserTaskExample.Criteria andCatchIdNotIn(List<Long> values) {
            return notIn(catchId, values);
        }

        public UserTaskExample.Criteria andCatchIdBetween(Long value1, Long value2) {
            return between(catchId, value1, value2);
        }

        public UserTaskExample.Criteria andCatchIdNotBetween(Long value1, Long value2) {
            return notBetween(catchId, value1, value2);
        }
        public UserTaskExample.Criteria andMallUserIdIsNull() {
            return isNull(mallUserId);
        }

        public UserTaskExample.Criteria andMallUserIdIsNotNull() {
            return isNotNull(mallUserId);
        }

        public UserTaskExample.Criteria andMallUserIdEqualTo(Long value) {
            return equalTo(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdNotEqualTo(Long value) {
            return notEqualTo(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdGreaterThan(Long value) {
            return greaterThan(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdLessThan(Long value) {
            return lessThan(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(mallUserId, value);
        }

        public UserTaskExample.Criteria andMallUserIdIn(List<Long> values) {
            return in(mallUserId, values);
        }

        public UserTaskExample.Criteria andMallUserIdNotIn(List<Long> values) {
            return notIn(mallUserId, values);
        }

        public UserTaskExample.Criteria andMallUserIdBetween(Long value1, Long value2) {
            return between(mallUserId, value1, value2);
        }

        public UserTaskExample.Criteria andMallUserIdNotBetween(Long value1, Long value2) {
            return notBetween(mallUserId, value1, value2);
        }
        public UserTaskExample.Criteria andTaskIdIsNull() {
            return isNull(taskId);
        }

        public UserTaskExample.Criteria andTaskIdIsNotNull() {
            return isNotNull(taskId);
        }

        public UserTaskExample.Criteria andTaskIdEqualTo(Long value) {
            return equalTo(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdNotEqualTo(Long value) {
            return notEqualTo(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdGreaterThan(Long value) {
            return greaterThan(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdLessThan(Long value) {
            return lessThan(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(taskId, value);
        }

        public UserTaskExample.Criteria andTaskIdIn(List<Long> values) {
            return in(taskId, values);
        }

        public UserTaskExample.Criteria andTaskIdNotIn(List<Long> values) {
            return notIn(taskId, values);
        }

        public UserTaskExample.Criteria andTaskIdBetween(Long value1, Long value2) {
            return between(taskId, value1, value2);
        }

        public UserTaskExample.Criteria andTaskIdNotBetween(Long value1, Long value2) {
            return notBetween(taskId, value1, value2);
        }
        public UserTaskExample.Criteria andStatusIsNull() {
            return isNull(status);
        }

        public UserTaskExample.Criteria andStatusIsNotNull() {
            return isNotNull(status);
        }

        public UserTaskExample.Criteria andStatusEqualTo(Integer value) {
            return equalTo(status, value);
        }

        public UserTaskExample.Criteria andStatusNotEqualTo(Integer value) {
            return notEqualTo(status, value);
        }

        public UserTaskExample.Criteria andStatusGreaterThan(Integer value) {
            return greaterThan(status, value);
        }

        public UserTaskExample.Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(status, value);
        }

        public UserTaskExample.Criteria andStatusLessThan(Integer value) {
            return lessThan(status, value);
        }

        public UserTaskExample.Criteria andStatusLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(status, value);
        }

        public UserTaskExample.Criteria andStatusIn(List<Integer> values) {
            return in(status, values);
        }

        public UserTaskExample.Criteria andStatusNotIn(List<Integer> values) {
            return notIn(status, values);
        }

        public UserTaskExample.Criteria andStatusBetween(Integer value1, Integer value2) {
            return between(status, value1, value2);
        }

        public UserTaskExample.Criteria andStatusNotBetween(Integer value1, Integer value2) {
            return notBetween(status, value1, value2);
        }
    }
}